package com.renyisima.wujiansima.demo.test2;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/*
服务端
1. 使用多线程以及线程池的方式，来侦听客户端请求；
2. 如果有客户发出请求，则主动给每位客户端发送一句“欢迎光临！请上传文件(文本文件)！”；
3. 用户上传后，将文件保存在本地，并回复“上传成功”；
4. 如果客户端上传的文件中有敏感词汇，则替换成**，再保存。
5. 敏感词汇：操

 */
public class ServerDemo {
    public static void main(String[] args) throws IOException {
//        创建对象
        ServerSocket ss = new ServerSocket(22222);
        Socket socket = ss.accept();
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        bw.write("欢迎光临！请上传文件(文本文件)！");
        BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\haha.txt"));
        byte[] bytes = new byte[1024 * 8];
        int len;
        while ((len = bis.read(bytes)) != -1) {
            String s = new String(bytes, 0, len);
            String s1 = s.replace("操", "**");
            byte[] bytes1 = s1.getBytes();
            bos.write(bytes, 0, len);
            bos.flush();
        }
        bw.write("上传成功");
        bis.close();
        bos.close();
        ss.close();


    }
}
